library lib_uikit;

import 'package:flutter/material.dart';
import 'package:lib_uikit/extension/string_extension.dart';
import 'package:lib_uikit/theme/gt_theme_provider.dart';
import 'package:lib_uikit/generated/l10n.dart';

export 'package:lib_uikit/theme/gt_colors.dart';
export 'package:lib_uikit/theme/gt_colors_v3.dart';
export 'package:lib_uikit/theme/gt_theme_provider.dart';
export 'package:lib_uikit/widgets/banner/gt_card_stack_banner.dart';
export 'package:lib_uikit/widgets/banner/gt_image_inner_widget.dart';
export 'package:lib_uikit/widgets/banner/gt_widget_inner_banner.dart';
export 'package:lib_uikit/widgets/bottomsheet/gt_text_list_bottom_sheet.dart';
export 'package:lib_uikit/widgets/gt_image.dart';
export 'package:lib_uikit/widgets/gt_appbar_widget.dart';
export 'package:lib_uikit/widgets/gt_dialog_loading.dart';
export 'package:lib_uikit/widgets/gt_loading_view.dart';
export 'package:lib_uikit/widgets/gt_empty_data_view.dart';
export 'package:lib_uikit/widgets/gt_empty_view_v3.dart';
export 'package:lib_uikit/widgets/tabbar/gt_secondary_tabbar.dart';
export 'package:lib_uikit/widgets/tabbar/gt_thirdly_tabbar.dart';
export 'package:lib_uikit/widgets/tabbar/gt_card_tabbar.dart';
export 'package:lib_uikit/widgets/tabbar/underline/gt_tabs.dart';
export 'package:lib_uikit/widgets/tabbar/underline/gt_under_line_tab_indicator.dart';
export 'package:lib_uikit/widgets/tabbar/underline/gt_underline_tabbar.dart';
export 'package:lib_uikit/utils/gt_dialog_helper.dart';
export 'package:lib_uikit/utils/gt_rtl_property.dart';
export 'package:lib_uikit/utils/gt_screen.dart';
export 'package:lib_uikit/utils/text_utils.dart';
export 'package:lib_uikit/utils/gt_text_style.dart';
export 'package:lib_uikit/utils/gt_system_ui_overlay_style_utils.dart';
export 'package:lib_uikit/utils/gt_cache_manager.dart';
export 'package:lib_uikit/widgets/gt_toast.dart';
export 'package:lib_uikit/widgets/gt_toast_v3.dart';
export 'package:lib_uikit/widgets/gt_refresh_header.dart';
export 'package:lib_uikit/widgets/gt_load_more_footer.dart';
export 'package:lib_uikit/widgets/gt_back_button.dart';
export 'package:lib_uikit/widgets/gt_network_image.dart';
export 'package:lib_uikit/widgets/refresh_list/gt_list_state.dart';
export 'package:lib_uikit/widgets/refresh_list/gt_refresh_list_view.dart';
export 'package:lib_uikit/widgets/refresh_list/gt_refresh_custom_view.dart';
export 'package:lib_uikit/widgets/refresh_list/gt_refresher.dart';
export 'package:lib_uikit/widgets/dialog/gt_dialog.dart';
export 'package:lib_uikit/widgets/dialog/gt_dialog_button.dart';
export 'package:lib_uikit/extension/gt_image_extension.dart';
export 'package:lib_uikit/extension/string_extension.dart';
export 'package:lib_uikit/extension/extensions.dart';
export 'package:lib_uikit/native/native_action_sheet.dart';
export 'package:lib_uikit/native/gt_common_ui_servier.dart';
export 'package:lib_uikit/resource/gt_iconfont.dart';
export 'package:lib_uikit/widgets/extend_nested_scrollview/gt_extended_nested_scroll_view.dart';
export 'package:lib_uikit/widgets/extend_nested_scrollview/gt_extended_visibility_detector.dart';
export 'package:lib_uikit/widgets/gt_shrink_wrap.dart';
export 'package:lib_uikit/theme/gt_colors_v3_utils.dart';
export 'package:lib_uikit/behavior/no_glow_scroll_behavior.dart';
export 'package:lib_uikit/widgets/gt_rtl_transform.dart';
export 'package:lib_uikit/widgets/gt_linked_scrollview.dart';

class GTUikit {
  /// 单例
  static final GTUikit _instance = GTUikit._internal();

  static GTUikit get instance => _instance;

  /// 私有的命名构造函数
  GTUikit._internal();

  static void setup(String language, bool isDark, bool hzldMode) {
    // 初始化 GTThemeProvider 并监听 LibCore
    GTThemeProvider.instance.setLanguage(language);
    GTThemeProvider.instance.setDark(isDark);
    GTThemeProvider.instance.setHzld(hzldMode);
  }

  LocalizationsDelegate<dynamic> localizationsDelegate() => LibUIKitS.delegate;

  List<Locale> supportedLocales() => LibUIKitS.delegate.supportedLocales;
}
